草庐IT

python - 用重复生成排列

全部标签

xml - 最好的 XSD 文件生成器

我正在分析从XML文件生成XSD文件的工具。我在互联网上找到了很多工具。VisualStudio附带的XSD.exe实用程序(xsdfile.xml)StylusStudio的XSD文件生成器Microsoft的XSD干扰工具XMLFox专业人士LiquidXMLStudio(XML编辑器逆向工程)如果成本价格不是标准,以上哪一项最好?如果有任何其他工具比上面列出的工具更好,请告诉我。是否有从XML文件生成XSD文件的免费工具?我搜索并获得了这个链接http://www.hitsw.com/xml_utilites/,但是这个只支持DTD而不支持XMLSchema。哪个是从XML文件生

xml - 减少 XSLT 1.0 中的重复表达式

我有以下XML(简化):Test1FailedType1Test1FailedType2Test1PassedType1我有兴趣创建一个表,根据它们的类型来计算通过/失败的测试用例的数量,如下所示:通过(类型1):1失败(类型1):1通过(其他类型):0失败(其他类型):1为此,我正在编写以下查询:0])"/>0])"/>如您所见,有很多重复的代码,如果我能节省其中一些就太好了。我知道在XSL2.0中我可以使用用户函数,但在XSL1.0中我应该做什么?您是否看到任何可以优化重复表达式的选项?P.S请注意,这是对real的简化,虽然这里的表达式看起来并不长,但在实际代码中它要长得多,因此

python - 使用 DTD 验证 XML 无法使用 lxml 导入实体

我有一个生成NewsML类型XML文件的工具,我想在生成文件后验证它们。我收到一个错误:Attempttoloadnetworkentityhttp://www.w3.org/TR/ruby/xhtml-ruby-1.modPython调用是:parser=etree.XMLParser(load_dtd=True,dtd_validation=True)treeObject=etree.parse(f,parser)首先,我不确定我是否同时需要“load_dtd=True,dtd_validation=True”,但无论如何我都在使用它。第二个错误似乎来自定义为的导入的nitf-3-

python - 使用 Python 替换 XML 文档中的数字字符引用

我正在努力解决以下问题:我有一个包含以下标记的XML字符串,我想使用cElementTree将其转换为有效的XML文档:#55296;#57136;#55296;#57149;#55296;#57139;#55296;#57136;#55296;#57151;#55296;#57154;#55296;#57136;但是每个#符号前面都有一个&符号,因此输出看起来像:����������������这是一个unicode字符串,编码是UTF-8。我想丢弃这些数字字符引用,因为它们在有效的XML文档中不是合法的XML(参见ParsererrorusingPerlXML::DOMmodule

python - 如何从单个流中解析多个 XML 文档?

我有一个套接字,可以从中读取XML数据。然而,这个套接字会吐出多个不同的XML文档,所以我不能简单地解析我收到的所有输出。有没有好的方法,最好是使用Python标准库,让我解析多个XML文档?换句话说,如果我最终得到那么有没有办法获取多个DOM对象或让SAX解析器简单地处理这样的流? 最佳答案 如果你有单独的文件,你需要一些东西来分割它们;如果有的话,您可以在解析单个文档之前简单地拆分流。另一种可能性是将其包装到另一个文档中,因此每个XML文档实际上都是您为此目的创建(并包装)的父文档的子文档。

c# - 像使用 C# 的 python 的 lxml 一样读取 XML 文件?

当我需要从之前的XML代码中获取信息时,Python的lxml可以如下使用。defgetNodeList(self):connection=self.doc.find('Connections')cons=connection.find('Connection')forconincons.iter():con.get("ID")#getattribute...我可以使用哪些C#库/函数来获取python的lxml等信息?我的意思是,我可以在C#中使用find()/iter()或类似工具吗?哪些C#库与python的lxml相似?已添加根据dtb的回答,我可以得到我需要的。usingSy

python - lxml.etree 和 xml.etree.ElementTree 添加没有前缀的命名空间(ns0、ns1 等)

是否有任何解决方案可以添加不带前缀的命名空间(我的意思是这些ns0、ns1),它们适用于所有etree实现,或者每个实现都有可行的解决方案?目前我有以下解决方案:lxml-元素的nsmap参数(c)ElementTree(python2.6+)-以空字符串作为前缀注册命名空间方法问题是python2.5中的(c)ElementTree,我知道有_namespace_map属性但将其设置为空字符串会创建无效的XML,将其设置为None添加默认的ns0等namespace,是否有任何可行的解决方案?我猜Element('foo',{'xmlns':'http://my_namespace_

python - 使用 Python 在 ElementTree 中添加兄弟元素

用XML比如我需要添加类似的兄弟ElementTree有添加兄弟节点的功能吗?如果没有,我想我需要一个函数来获取父节点并添加子节点,我该怎么做? 最佳答案 在标准库的版本中,您不能直接访问父级,您必须从父级开始工作,或者自己跟踪父子关系,阅读thesetips(来自图书馆的作者)。如果您使用lxml但是,有getparent()方法(您还有getnext()和getprevious()),但更方便:有是addnext()和addprevious()。因此,根据您使用的ElementTree实现选择这些解决方案之一(或者甚至可能切换您

python - 对使用哪个 XML 处理选项感到困惑

我是Python的新手,我才刚刚开始使用XML解析。我对使用XML的所有选项感到有点不知所措,我希望有经验的人可以为我正在处理的简单问题提供一些建议(也许还有代码示例??)。我正在开发一个不涉及数据库的简单Python联系人管理应用程序-每个联系人的信息都使用XML存储在单独的文本文件中。例如,假设以下是文件“1234.xml”的内容1234JohnnyAppleseed81455512121234MainStreetHometownOH1313MockingbirdLaneWhitePlainsNY为了举例,我们假设只能有一个电话号码,但有多个地址block。对于我在这里所做的事情,

xml - XSLT 1.0 将特定的后代/子注释重新排列到与父/祖先相同的级别

我正在寻找一种通用方法来将某些特定后代重新排列到其祖先节点的级别。重要的是:我需要一个适用于p和x的通用模板。节点abDEEPSPACENODE的顺序(从上到下)尽量不要改变。我的输入:1234567891011121314我想要的输出:1234567891011121314感谢您的帮助。我尝试自己解决,但没有成功。 最佳答案 这是一个更通用的解决方案,可以在不对XML文档施加任何限制的情况下产生所需的结果——我们不假设任何预定义的嵌套级别,或者名为b存在:应用于提供的XML文档时:1234567891011121314产生了想要的